package com.zxcl.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zxcl.domain.Order;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zxcl.dto.OrderConfirmDTO;
import com.zxcl.dto.OrderSubmitDTO;
import com.zxcl.dto.PageDTO;
import com.zxcl.vo.OrderConfirmVO;
import com.zxcl.vo.OrderStatusVO;
import com.zxcl.vo.OrderVO;

import java.util.Map;

public interface OrderService extends IService<Order>{


    /**
     * 查询订单状态数量
     *
     * @return
     */

    OrderStatusVO orderStatusCount();

    /**
     * 分页查询订单列表
     * @param pageDTO
     * @param status
     * @return
     */
    Page<OrderVO> loadOrderPage(PageDTO pageDTO, Integer status);

    /**
     * 订单确认
     * @param orderConfirmDTO
     * @return
     */
    OrderConfirmVO orderConfirm(OrderConfirmDTO orderConfirmDTO);

    /**
     * 下预定单  Todo 这里只解释了因为微信支付需要,所以返回 Map<String, String>,
     * @param orderSubmitDTO
     * @return
     */

    Map<String, String> orderSubmit(OrderSubmitDTO orderSubmitDTO);
}
